<?php 

header("Content-type: text/html; charset=utf-8") ;

// 读系统配置的方法
function C($config = null)
{
	// 引入配置文件，如果有就引入
	$configs = include './config/config.php';
	// 如果有配置文件，就存放进数组中
	if(is_array($config)){
		$temp = array();
		// 遍历配置数组，返回数组
		foreach ($config as $v) {
			 $temp[$v] = $configs[$v];
		}
		return $temp;
	}
	// 如果配置文件是空的，也就是没有配置文件（没有系统默认配置），那么就引入$configs（自己设置的配置），如果配置文件不存在，就提示不存在，如果有，就引用
	if($config==null){
		return $configs;
	}elseif(!isset($configs[$config])){
		return '不存在';
	}else{
		return $configs[$config];
	}	
}


///引错误信息模板
function error($url, $msg)
{
	include './Tpl/error.html';
	exit;
}
// 引用成功信息模板
function success($url,$msg){
	include './Tpl/success.html';
}
// 删除模板
function delsuccess($url,$msg){
	include './Tpl/delsuccess.html';
}
// 编辑成功模板
function editsuccess($url,$msg){
	include './Tpl/editsuccess.html';
}


//转单位
function F($num)
{
	// 如果大于1024的三次方，就显示多少GB,pow(1024,3),2)处理具体数值，处理成GB，pow是指数下面的MB,KB同理
	if($num>pow(1024,3)){
		echo round($num/pow(1024,3),2)."GB";
	}elseif($num>pow(1024,2)){
		echo round($num/pow(1024,2),2)."MB";
	}elseif($num>pow(1024,1)){
		echo round($num/pow(1024,1),2)."kB";
	}else{
		echo $num."kB";
	}
}

//递归方法，层层递归，删除文件夹
function DelDir($dirPath)
{
	// 处理数据，将路径里的'/'截掉，不然组路径的时候会出错
	$dirPath = rtrim($dirPath,'/');
	// glob读取文件夹下的所有文件，并将它们存到数组中
	$pathArr = glob($dirPath."/*");
	// 读取文件夹内容后，如果文件夹是空的rmdir方法直接删除空文件夹，if条件里的$pathArr是空的，那么值为false，程序走不进去，所以写成!$pathArr。
	if(!$pathArr){
		rmdir($dirPath);
	}else{
		// 如果文件夹不是空的，里面有文件，那么遍历里面的文件，is_dir判断里面的东西是不是文件夹，如果是那么DelDir删除文件夹
		foreach ($pathArr as $v) {
			if(is_dir($v)){
				// echo "dir".$v;
				DelDir($v);
			// 如果里面的东西是文件，那么直接unlink删除文件
			}else{
				unlink($v);
				// echo "unlink".$v;
			}
		}
		// 将文件夹下面的东西都删除后，文件夹变成了空文件夹，就可以rmdir直接删除了
		rmdir($dirPath);
	}
}


//小网盘图标展示方法，根据文件后缀来显示图像，如果文件后缀是.jpg，就显示什么图像，是.png就显示什么图像，等等，$url是调用方法的地方传的参数，设置要显示的图片，./Upload/txt.jpg是指定文件夹下的某张图片
function showimg($url){
	$suffix=substr($url,strrpos($url, '.'));
	switch ($suffix) {
		case '.jpg':
			return $url;
			break;
		case '.png':
			return $url;
			break;
		case '.txt':
			return './Upload/txt.jpg';
			break;
		case '.php':
		return './Upload/txt.jpg';
		break;
		default:
			return './Upload/moren.jpeg';
			break;
	}
}



//实例化一个类的方法,并把结果返回，Model是model.class.php里写封装的连接数据库的方法，使用它们可以通过php操作数据库
function M($table=null)
{
	return new Model($table);
}

<?php 
// 发送邮件
function xbMail($mail,$connet)
{
	 $url = 'http://api.sendcloud.net/apiv2/mail/sendtemplate';
        $API_USER = 'daniuit';
        $API_KEY = 'z7XlUl0Q4u5QmyW0';
        $to = array('to'=>array('113664000@qq.com'));
        $headers= array('header1'=>'Content-Type: application/x-www-form-urlencoded');

        //不同于登录SendCloud站点的帐号，您需要登录后台创建发信子帐号，使用子帐号和密码才可以进行邮件的发送。
        $param = array(
            'apiUser' => $API_USER,
            'apiKey' => $API_KEY,
            'from' => 'phpstudy@mail.daniuit.com',
            'fromname' => 'PHP基础到高级实战交流',
            'to' => '545249324@qq.com',
            'subject' => '0基础学php开发技能',
            'templateInvokeName' => 'vip',
            'xsmtpapi' => json_encode($to),
            'headers'=>json_encode($headers),
            'useAddressList'=>'false');
        return xbsrequest($url,false,'POST',$param);
}

function xbsrequest($curl,$https = true,$method = 'GET',$data = null) {
        //var_dump($curl);
        $ch = curl_init();
        curl_setopt($ch,CURLOPT_URL,$curl);
        curl_setopt($ch,CURLOPT_HEADER,false);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        if($https) {
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
            curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
        }
        if($method == 'POST') {
            curl_setopt($ch,CURLOPT_POST,true);
            curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($data));
        }
        $content = curl_exec($ch);
        curl_close($ch);
        return $content;

}


function qqMail($mail,$connet)
{
	Vendor('PHPMailer.PHPMailerAutoload');

	$mail = new PHPMailer;

	//$mail->SMTPDebug = 3;                               // Enable verbose debug output

	$mail->isSMTP();                                      // Set mailer to use SMTP
	$mail->Host = 'smtp.qq.com';  // Specify main and backup SMTP servers
	$mail->SMTPAuth = true;                               // Enable SMTP authentication
	$mail->Username = '113664000@qq.com';                 // SMTP username
	$mail->Password = 'ukweceueldqebghc';                           // SMTP password
	$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
	$mail->Port = 465;                                    // TCP port to connect to

	$mail->setFrom('113664000@qq.com', 'Mailer');
	$mail->addAddress('6955044@qq.com', 'Joe User');     // Add 
	$mail->addReplyTo('113664000@qq.com', 'Information');


	$mail->isHTML(true);                                  // Set email format to HTML

	$mail->Subject = '邮箱验证';
	$mail->Body    = $connet;

	if(!$mail->send()) {
	    echo 'Message could not be sent.';
	    echo 'Mailer Error: ' . $mail->ErrorInfo;
	} else {
	    echo 'Message has been sent';
	}
}

// 搜索分词，将一句话拆分成几个词，分别匹配词库里的词，得到相应的搜索结果，比如，武汉市长江大桥，扔进分词库，拆成：武汉，市长，江大桥，武汉市，长江大桥，将结果返回
function FC($str='')
{
    // header("Content-type: text/html; charset=utf-8"); 做测试时写的头文件，能显示出文字而不是乱码
    // 扩展配置，设置词库字典
    Vendor('pscws4.pscws4#class');
    // 实例化类
    $pscws = new PSCWS4('utf8');

    // var_dump(__PUBLIC__);
    // 组路径，引入字典文件
    $pscws->set_dict('./Public/etc/dict.utf8.xdb');
    $pscws->set_rule('./Public/etc/rules.ini');
    // 使用类里的方法，传送搜索的内容，$str就是搜索框输入的内容
    $pscws->send_text($str);
    // 拆分词语，如果输入了一句很长的话，设置之后，会按权重，将其拆分，只显示其中权重较大的三个词，到词库里匹配
    $tops = $pscws->get_tops(3, 'n,v');
    //定义一个数组，接搜到的词
    $tempArr = array();
    // 遍历搜到的词，并将它们放入一个数组中，将结果数组返回到前端页面展示
   foreach ($tops as $word)
   {
      $tempArr[] = $word['word'];
   }

    return ($tempArr);
}













 ?>

 ?>